home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Games / Xconq 7.1.0 / src / xconq-7.1.0 / doc / play.texi < prev    next >
Encoding:
Text File  |  1996-07-07  |  84.8 KB  |  2,207 lines  |  [TEXT/R*ch]

  1. @node Playing Xconq, Game Design, Xconq, Top
  2.  
  3. @chapter Playing Xconq
  4.  
  5. This chapter is about how to play @i{Xconq}.  Although @i{Xconq}
  6. supports a wide variety of games, they all have much in common, and it
  7. is these common features that will be described here.  This chapter,
  8. along with any documentation for the game you're playing, should provide
  9. all the information you need to play and enjoy @i{Xconq}.
  10.  
  11. The term @dfn{interface} refers to the particular graphical user
  12. interface in use.  Examples include X11, curses, and Macintosh.
  13. Interfaces can vary radically from each other, since each is designed to
  14. be best suited for its environment.  In practice though, interfaces all
  15. share the same commands, so that you don't have to learn a whole new set
  16. when switching computers, and many of the displays are similar.
  17.  
  18. When reading this chapter, you should be aware that the term @dfn{game}
  19. is more precisely @dfn{game design}, since it is the set of rules and
  20. definitions of the game you want to play.  Since @i{Xconq} allows for
  21. many different kinds of game designs, much of the information in this
  22. chapter will be irrelevant to a particular game.  This will be indicated
  23. in the text by phrases like ``some games'' or by saying that a game
  24. ``may'' implement some concept or behavior.  You should learn what the
  25. game you're playing actually does in these cases.  The names of the
  26. variables or tables to look at will often be mentioned in @code{computer
  27. type}.
  28.  
  29. @menu
  30. * Setting Up A Game::
  31. * Starting Play::
  32. * Getting Help::
  33. * Worlds and Areas::
  34. * Units::
  35. * Materials::
  36. * Sides::
  37. * Moving the Units::
  38. * Automation of Units and Sides::                
  39. * Modes::
  40. * Standard Keyboard Commands::
  41. * Backdrop Weather::
  42. * Backdrop Economy::
  43. * Backdrop Random Events::
  44. * Scoring::
  45. * Playing in Realtime::
  46. * Advanced Play::
  47. * Playing Hints::
  48. * Problems and Troubleshooting::
  49. * The Game Library::
  50. @ifset UNIX
  51. * Introduction to X11 Xconq::    Introduction to X11 Xconq
  52. * Playing X11 Xconq::            Playing X11 Xconq
  53. * Troubleshooting X11 Xconq::    Troubleshooting X11 Xconq
  54. * Introduction to curses Xconq::    Introduction to curses Xconq
  55. * Playing curses Xconq::        Playing curses Xconq
  56. * Troubleshooting curses Xconq::    Troubleshooting curses Xconq
  57. @end ifset
  58. @ifset MACINTOSH
  59. * Introduction to Mac Xconq::    Introduction to Mac Xconq
  60. * Playing Mac Xconq::            Playing Mac Xconq
  61. * Troubleshooting Mac Xconq::    Troubleshooting Mac Xconq
  62. @end ifset
  63. @end menu
  64.  
  65. @node Setting Up A Game, Starting Play, Playing Xconq, Playing Xconq
  66.  
  67. @section Setting Up A Game
  68.  
  69. To get started with @i{Xconq},
  70. you have to select which game you want to play.
  71. The possibilities may be
  72. presented to you, or you may have to look in some sort of library
  73. to see what's available and then supply that name on a command line.
  74. If you don't do anything, then you will get a default game.
  75.  
  76. Some games require no additional setup; once loaded, you're ready to go.
  77. Others will require additional decisions, such as the size and shape of
  78. the playing area, whether exploration will be necessary, or whether the
  79. game is realtime.  These choices are @dfn{variants} of the game.  The
  80. exact set of variants is part of the game design, and the interface will
  81. (usually) tell you about them.
  82.  
  83. In addition, most games also give you a choice of which player is to
  84. play which side in a game, as well how many players can join in.  There
  85. are two kinds of players: humans, who have displays, and @dfn{artificial
  86. intelligence}s or @dfn{AI}s for short, which are run by the computer.
  87. Some versions of @i{Xconq} may include more than one kind of AI; each
  88. type has a distinct name.  The AI named @code{mplayer} is always
  89. available.
  90.  
  91. An example might be a simulation of Europe @i{ca} 1900, named
  92. @code{"la-belle-epoque"}, in which the sides might be ``England'',
  93. ``France'', ``Germany'', and ``Austria-Hungary'', and the players might
  94. be Joe on a Sun-4 named @code{sun-lamp}, Natalie on an HP machine named
  95. @code{jaguar}, and two of the @code{mplayer} AIs.  You can set Joe to
  96. play England, Natalie to play France, and the two AIs to play Germany
  97. and Austria-Hungary by using this command line:
  98. @example
  99. xconq -g la-belle-epoque -r Joe@@sun-lamp:0.0 Natalie@@jaguar:0.0 -e 2
  100. @end example
  101. Note that this is X11, so the @code{:0.0} is the usual server and
  102. screen identification, while @code{-r} says not to open a display
  103. on the machine that is actually running the program.
  104.  
  105. Some game designs provide a way to even things up if the players are of
  106. vastly differing abilities.  In these designs, each player has an
  107. @dfn{advantage} that affects how much he or she gets to start with.
  108. Weaker players should get a higher advantage, so for instance a game
  109. with two players, of advantages 1 and 4, might give the advantage=4
  110. player 8 cities while the advantage=1 player gets only 2.  This affects
  111. setup only; during the game all players are equal.  The variability of
  112. advantage also depends on the game; some may allows differences of 10 to
  113. 1 or more, while others, especially historically accurate scenarios,
  114. will have a fixed advantage that the designer has set for each side.
  115.  
  116. Once a trial player setup has been made, @i{Xconq} runs ``synthesis
  117. methods''.  The game design specifies the methods to use, which generate
  118. anything that was not explicitly spelled out; such as the initial
  119. location of countries, terrain features, and so forth.  As a player, you
  120. don't have to concern yourself much about synthesis methods, but you may
  121. get warnings or errors if a synthesis method is having difficulties.  A
  122. common case is where you ask for many players to be set up in a small
  123. world, and the set of constraints is too ``tight'' for an initial setup;
  124. you will get a warning that some players were given poor positions.
  125. Synthesis methods may also take a long time to run; for large worlds and
  126. lots of players, be prepared to wait.
  127.  
  128. When initialization and setup succeeds, @i{Xconq} will try to open up
  129. displays for every player that wanted one.  Exactly how this happens
  130. depends on the interface and networking capabilities of the version of
  131. @i{Xconq} you're using.  See the system-specific sections at the end of
  132. this chapter for more detail.  Once all the players are in, @i{Xconq}
  133. will start the game for real.
  134.  
  135. You may also get a warning that ``images were not found''.  This happens
  136. when the game design specifies the use of particular icons or patterns
  137. (collectively call @dfn{images} here), but they cannot be found anywhere
  138. by @i{Xconq}.  This is not fatal, because @i{Xconq} will use generic
  139. default images instead, but the display may be hard to understand.
  140. There are several possible reasons for images not to be found: 1) the
  141. game designer might have specified the use of particular images, but
  142. never defined them, 2) the library of images was not updated to include
  143. the needed images, or 3) the image library is not located where Xconq is
  144. looking.
  145.  
  146. @ref{Problems and Troubleshooting}
  147. describes more of the errors and warnings that you may encounter,
  148. and what to do about them.
  149.  
  150. @node Starting Play, Getting Help, Setting Up A Game, Playing Xconq
  151.  
  152. @section Starting Play
  153.  
  154. What you'll first see depends entirely on the interface you're using.
  155. Typically there will be at least a map and a list of sides.  Help is
  156. available by typing `@code{?}' or clicking on a button that says
  157. ``Help''.  You can also just try to find your way around by
  158. experimentation.  (This is best done in a game by yourself, rather than
  159. in one with a lot of other people.)
  160.  
  161. The game proceeds as a sequence of @dfn{turns}.  During each turn, you
  162. and the other players get to move your @dfn{units}, which can be
  163. anything from cities to submarines to insects, depending on the game.
  164. In addition, there may be @dfn{backdrop activities}, such as changing
  165. seasons and weather, that go on all by themselves.  These typically
  166. happen at the beginning or end of a turn, not while players are moving
  167. their units.
  168.  
  169. Your exact goal depends on the game's @dfn{scorekeepers}.  Most games
  170. have at least one, some have several, and some have none.  There are
  171. many kinds of scorekeepers, so be sure you know and understand what they
  172. are before getting too far into a game!  If there are no scorekeepers at
  173. all, you can do whatever you like; any AIs playing in such a game will
  174. behave quite randomly.
  175.  
  176. A game may last anywhere from a few turns to many hundreds.  Again, this
  177. may be limited by the game design, or perhaps by the nature of the game.
  178. For instance, a game of oil empires might be forced to end when the
  179. world's oil supplies are exhausted...
  180.  
  181. @node Getting Help, Worlds and Areas, Starting Play, Playing Xconq
  182.  
  183. @section Getting Help
  184.  
  185. @i{Xconq} includes extensive online help.  The keyboard command
  186. `@code{?}'  is available in all interfaces; some may also include a
  187. button or menu item that leads you to the help system.  Help information
  188. consists of a list of @dfn{help nodes}, each of which describes an
  189. aspect of the game or of @i{Xconq} in general.  There is usually a table
  190. of topics that you can select from, or else you can go forwards and
  191. backwards through the nodes.
  192.  
  193. @node Worlds and Areas, Units, Getting Help, Playing Xconq
  194.  
  195. @section Worlds and Areas
  196.  
  197. @quotation
  198. Gallia est omnis divisa in partes tres [All Gaul is divided into three
  199. parts] -- JULIUS CAESAR
  200. @end quotation
  201.  
  202. The @i{Xconq} ``world'' is always a sphere.  However, you only play on a
  203. piece of its surface, which is called an @dfn{area}.  Currently, there
  204. can only be one world and one area in a game; this may change in a
  205. future version of @i{Xconq}.
  206.  
  207. An area is divided into a grid pattern of @dfn{cells}.  Although squares
  208. with four or eight neighbors could be used (and were, in the very first
  209. version of @i{Xconq}), currently only a hexagon grid is available.  Each
  210. cell is therefore adjacent to six others, in the directions NW, NE, W,
  211. E, SW, and SE.  Areas have a @dfn{width} and @dfn{height} that are the
  212. number of cells across and up/down.  Although you can ask for areas down
  213. to 10x10 or less, or up to 1000x1000 or even more, the ideal default is
  214. typically around 60x30.  Larger areas consume vast quantities of memory,
  215. plus they're slow and unwieldy to play on; don't ask for them unless you
  216. have a lot of time and patience!
  217.  
  218. If the area's width matches the circumference of the world, it is a
  219. cylinder in shape.  The cylinder can be circumnavigated in an east-west
  220. direction.  This is what an 8x6 cylinder area might look like (periods
  221. are sea, @code{+} and @code{^} are land, @code{#} indicates edge cells):
  222. @example
  223. # # # # # # # #
  224.  . . + + . . . .
  225. . . . + ^ . . .
  226.  . . . . . . . .
  227. . . . . ^ . . .
  228.  # # # # # # # #
  229. @end example
  230.  
  231. Areas whose width is less than the world's circumference have a
  232. hexagonal shape.  This is an 8x7 hexagon:
  233. @example
  234.    # # # # # 
  235.   # . + + . #
  236.  # . . + ^ . #
  237. # . . + ^ . . #
  238.  # . . . . . #
  239.   # . . ^ . #
  240.    # # # # # 
  241. @end example
  242.  
  243. The top and bottom rows of the cylinder shape, and all the sides of the
  244. hexagon shape, are called @dfn{edge} cells.  Your units may not enter
  245. them, unless leaving the area entirely, which some games allow.
  246.  
  247. The types of terrain you'll find in the world depends on the game
  248. design; typically there will be sea, land, mountains, swamp, and so
  249. forth, but more exotic games have been known to feature junkheaps, lava,
  250. and black holes as ``terrain''.
  251.  
  252. Terrain can cover an entire cell, be linear features passing through or
  253. between cells, or be a coating overlaying other terrain.  @dfn{Cell
  254. terrain} covers the entire cell uniformly, right out to its edges.
  255.  
  256. A @dfn{border} is the boundary between two adjacent cells; it has a
  257. distinct terrain type, such as ``river'' or ``beach''.  A
  258. @dfn{connection} is a narrow ribbon of terrain that reaches from the
  259. middle of one cell to the middle of an adjacent cell.  Like borders,
  260. connections are distinct types, for instance ``road'', ``railway'', or
  261. ``canal''.  Connections take precedence over borders and underlying cell
  262. terrain; in other words, if cell or border terrain is impassable, but
  263. there is a passable connection type, then the connection allows passage.
  264. Thus a connection can be usable as a bridge.  You may also find more
  265. than one type of connection or border, between two cells, such as both a
  266. road and a rail line.  They will be assumed to be side-by-side, so that
  267. units can use any connection that they like, and will be affected by all
  268. borders when crossing them.
  269.  
  270. A @dfn{coating} is like snow; it is a type that co-exists with cell
  271. terrain.  Coatings can change from turn to turn, varying in depth--and
  272. resultant effect on units.
  273.  
  274. Note that any single terrain type can only play one of these roles.
  275. This means you will never have river terrain that is both border and
  276. connection, nor will snow be both a coating and a cell type.
  277.  
  278. In some games, each cell has an @dfn{elevation}, which is basically
  279. elevation above sea level, but could be any range of values, as set by
  280. the game design.  The game design also defines the effect of elevation
  281. on movement, visibility, and weather.
  282.  
  283. A world can have @dfn{people} living in some or all of its cells.
  284. People belonging to a side report everything they see in their cell to
  285. their side.  Some types of units will cause the people's side to change
  286. to match their own.
  287.  
  288. A world can have named @dfn{geographical features} or just
  289. @dfn{features}, such as a bay, mountain, desert, or valley.
  290. Geographical features never have any direct effect on your game, but
  291. some interfaces may label features when drawing a map, or use them to
  292. help describe locations verbally, in phrases like @code{"1 hex NW of
  293. Broken Hill"}.
  294.  
  295. The coordinate system is ``oblique'', with the X-axis in the usual
  296. horizontal, and the Y-axis vertical, but tilted to the right at a
  297. 60-degree angle.
  298. @example
  299.       Y
  300.   \  /
  301.    \/
  302. ---------X
  303.   / \
  304.  /   \
  305. @end example
  306. The additional left-leaning axis is the x = - y line.
  307.  
  308. @node Units, Materials, Worlds and Areas, Playing Xconq
  309.  
  310. @section Units
  311.  
  312. @dfn{Units} can be almost anything: adventurers, armies, balloons,
  313. bicycles, dragons, triremes, spiders, battleships, bridges,
  314. headquarters, cities.  Units move around, manufacture things, fight with
  315. other units, and possibly die.  They are the playing pieces of
  316. @i{Xconq}.
  317.  
  318. Units have a location, either out in the open terrain of a cell, or
  319. inside some other unit.  In games that define connections, a unit may be
  320. on the connection rather than on the predominant terrain of the cell.
  321. (Think of a truck on a bridge.)  There may be more than one unit in the
  322. open in a given cell, up to a game-defined limit.  The collection of
  323. units sharing a cell is called a @dfn{stack}.  A unit inside another
  324. unit will be called an @dfn{occupant} in a @dfn{transport}, even if the
  325. ``transport'' is a type that can never move.
  326.  
  327. A unit's location may also include an @dfn{altitude}, expressed as its
  328. distance above the surface of the cell it is in.  Altitude affects
  329. combat and viewing abilities.
  330.  
  331. A unit either belongs to a side, or else it is considered
  332. @dfn{independent}.  Independent units do not do very much.  In more
  333. complex games, the unit's side merely represents the current ownership,
  334. and the unit may have a range of feelings towards each side, including
  335. its current one.  In those games, it is possible for one of your units
  336. to be a traitor!
  337.  
  338. Units can have a name, full name, a title, and a number, as appropriate
  339. to the situation.  The name is an ordinary name like ``Joe Schmoe'' or
  340. ``Cincinnati'', while the full name might be something like ``Joseph
  341. P. Schmoe''.  The title is a form of address such as ``Lord''.  The unit
  342. number, if used, is an ordinal that is maintained for each side and each
  343. unit type, so you can have both a ``1st national bank'' and a ``45th
  344. infantry division'' on your side.  Names and numbers are always
  345. optional, and can usually be changed at any time during the game.
  346.  
  347. Every unit starts out with a number of @dfn{hit points} or @dfn{hp}
  348. representing how much damage it can sustain before dying.  Certain types
  349. of units, such as armies and fleet of ships, have multiple @dfn{parts},
  350. which means that damage to them reduces their effective size.
  351. Multi-part units can merge with and detach from each other.  Damaged
  352. units may recover their hp on their own, or else be repairable by
  353. explicit action, either by themselves or by another units (ships in port
  354. for example).
  355.  
  356. In addition to occupants, a unit can also carry @dfn{supplies} (food,
  357. fuel, treasure, etc), which are type of ``materials'' (see the next
  358. section).  Supplies are used up by movement, combat, and by just
  359. existing, and are gotten either by producing them or by transferring
  360. them from some other unit.  Some games start units out with lots of
  361. supplies, while in others you have to acquire them on your own.
  362.  
  363. What a unit can do at any one time depends on the @dfn{action points} or
  364. @dfn{acp} available to it.  Each sort of action - movement,
  365. construction, repair, etc - uses up at least one action point, and
  366. possibly more.  A unit with an acp of 0 can never do anything on its
  367. own, although other units can still manipulate it.  Also, not every type
  368. of unit can do every type of action; this is also defined by the game
  369. design.  @ref{Types of Actions} lists all the types of actions that are
  370. possible in @i{Xconq}.
  371.  
  372. Units that engage in combat may accumulate @dfn{combat experience} or
  373. @dfn{cxp} for short.  Combat experience will increase with each fight,
  374. irrespective of outcome, up to a game-defined maximum.  An experienced
  375. unit will do better in combat, being both more effective in inflicting
  376. damage on opponents and at avoiding damage to itself.
  377.  
  378. You can lose a unit in many different ways: in combat, by running out of
  379. essential supplies, by being captured, by revolt, by garrisoning a
  380. captured unit, by leaving the world, or in accidents.  If a unit dies
  381. because of excessive damage (i.e. hp = 0), then in some games it will
  382. change into its @dfn{wrecked type}.  Wrecks are just normal units.  For
  383. instance, a city might be ``wrecked'' and become a town.  Occupants of
  384. dead or wrecked units will attempt to leave.  If they can't, then they
  385. will share the fate of their transport.  If an occupant can occupy a
  386. wrecked transport with no problem, then nothing will happen to it.
  387.  
  388. @node Materials, Sides, Units, Playing Xconq
  389.  
  390. @section Materials
  391.  
  392. In @i{Xconq}, @dfn{materials} are basically bulk inanimate stuffs, like
  393. food or fuel.  They are kept in units or in cells, up to limits defined
  394. by the game.  Materials may be provided as part of the initial game
  395. setup, or else produced by units and cells.  They are consumed by
  396. construction, movement, or merely in order to survive.  You can also
  397. move materials around from unit to unit.  Some games define laws of
  398. supply and demand, which will move materials for you, though not
  399. necessarily in the directions you would prefer!
  400.  
  401. In a few games, possession of a material type may figure into your score
  402. (gold in a dungeon-type game, for instance).  In other games, there
  403. are no types of materials at all.  Sometimes materials exist only to
  404. constrain units' actions, such as fuel to prevent airplanes from
  405. straying too far from airports, and so you may not need to do much with
  406. the materials yourself.  The player notes and help info for the particular game
  407. should explain this if so.
  408.  
  409. @node Sides, Moving the Units, Materials, Playing Xconq
  410.  
  411. @section Sides
  412.  
  413. Each player in @i{Xconq} runs a @dfn{side}.  The concept of ``side'' is
  414. somewhat abstract in @i{Xconq}; units in a game belong to sides, but the
  415. sides themselves are not attached to any particular unit.  Side often
  416. represent countries, but not invariably; they may be factions,
  417. governorships, or alliances, or just a convenient division of the game's
  418. units.
  419.  
  420. It is important to be clear about sides and players.  A side is a part
  421. of the simulated world, while a player is the actual real-world person
  422. or program that is playing the side.  You yourself are always the
  423. player, but in one game you may play the German side, and in another the
  424. Klingon side.  During a game, there will always be a player for each
  425. side, and vice versa.  The distinction is most important during setup
  426. and restoration of saved games, since you can choose which players go
  427. with which sides.
  428.  
  429. Each side can have a name and associated parts of speech, such as a noun
  430. for individuals on the side and an adjective to describe anything
  431. belonging to the side.
  432. @c [example?]
  433. A side may also have an @dfn{emblem} and one or more colors for displays
  434. to use.  Some game designs preset all this, while others let you
  435. personalize as desired.
  436.  
  437. @menu
  438. * Interaction Between Sides::   
  439. * Using Agreements::                  
  440. * Tech Levels::                 
  441. * Side Classes::                
  442. * Self-Units::                  
  443. @end menu
  444.  
  445. @node Interaction Between Sides, Using Agreements, , Sides
  446.  
  447. @subsection Interaction Between Sides
  448.  
  449. In games with two players, your interaction is usually pretty simple,
  450. i.e. bash on each other.  In games with many players, some human, some
  451. mechanical, it is possible to have a variety of relationships, ranging
  452. from complete trust to complete hostility.
  453.  
  454. A side can @dfn{trust} another side.  This is
  455. like a close ally - you can enter each other's transports, you share
  456. view data, and so forth.  Trust is a two-way relationship; both you and
  457. the other side each have to declare you want to trust the other.  You
  458. can do this at any time.  You can also, unilaterally, withdraw your
  459. trust in another side at any time.  There are no preconditions or caveats
  460. for trust.
  461.  
  462. You can make your side be controlled by another side.
  463. This is basically a surrender that lets you stay in the game, because
  464. the controlling side can manipulate any of your units as if they were
  465. its own.  The controlling side also has the option of allowing or
  466. forbidding you to move your own units.  The relationship is strictly
  467. one-sided, and only the controlling side can release the controlled
  468. side.  (Note that this is a way to have several people play on a side;
  469. have one player run the controlling side and be helped by several other
  470. players running controlled sides, usually with agreed-upon
  471. responsibilities.)
  472.  
  473. @node Using Agreements, Tech Levels, Interaction Between Sides, Sides
  474.  
  475. @subsection Using Agreements
  476.  
  477. @quotation
  478. Diplomacy is to do and say //
  479. The nastiest thing in the nicest way.
  480. -- ISAAC GOLDBERG (1938)
  481. @end quotation
  482.  
  483. If you don't want to declare a special relationship with another side,
  484. but still want to make some sort of adhoc arrangement, you can create an
  485. @dfn{agreement}.  An agreement is a sort of generalized treaty; it
  486. consists of a number of @dfn{terms} agreed to by a number of
  487. @dfn{signers}, which are sides.  Agreements may be public or secret, and
  488. you can declare them to be enforced by @i{Xconq} if the terms are in a
  489. form it understands. An agreement that just says ``help each other out''
  490. cannot be evaluated by the computer!
  491.  
  492. [Agreements are not completely implemented.]
  493.  
  494. @c To make an agreement, you tell the interface to create one, fill in its
  495. @c terms, possibly give it a name, make up a list of proposed signers,
  496. @c then either propose it directly or else send to @dfn{drafters}, which
  497. @c are the side you want to help with the composition of the agreement.
  498. @c The draft also includes the list of sides that will know about the
  499. @c agreement.
  500. @c 
  501. @c When the agreement is officially proposed, it will be displayed to
  502. @c all sides that are to sign, and represented as coming from the
  503. @c sides listed as @dfn{proposers}.
  504. @c @i{Xconq} will then ask each proposed signer to sign;
  505. @c if all do so, then the agreement goes into effect immediately.
  506. @c All sides that are to know about the agreement
  507. @c will be informed of its terms.
  508. @c 
  509. @c Some interfaces may allow players to copy and modify a proposed and
  510. @c circulate it along with the original.  The proposing side may also
  511. @c withdraw a proposal, but cannot modify it without having it signed again
  512. @c by everybody involved.
  513. @c 
  514. @c Once in effect, an agreement cannot be modified, and it cannot be
  515. @c removed unless it includes a term that provides for this.
  516. @c 
  517. @c An agreement can have any number of terms.
  518. @c Each term can have one of several forms:
  519. @c 
  520. @c A text string.  This is not interpreted in any way
  521. @c and could be a comment, preamble, or whatever.
  522. @c 
  523. @c A true/false expression.  This must always be true for the agreement
  524. @c to be valid.
  525. @c 
  526. @c A statement of an action.  This action will be performed at the instant
  527. @c that the agreement goes into effect.
  528. @c 
  529. @c An if-then statement.  If the condition is true
  530. @c while the agreement is in effect, then the action will be performed.
  531. @c 
  532. @c [need some examples]
  533. @c 
  534. @c Note that the drafter/proposer/signer distinction has many uses;
  535. @c for instance, you can draft an agreement to be proposed by a coalition
  536. @c of sides, but the proposed signers are neutral sides that you want
  537. @c to keep quiet.
  538.  
  539. @c @node Trade, Tech Levels, Using Agreements, Sides
  540. @c 
  541. @c @subsection Trade
  542. @c 
  543. @c [Trade is not yet implemented.]
  544. @c 
  545. @c You can specify the nature of the trading relationship with other sides.
  546. @c The basic theory is that traders are businessfolk and don't care much about
  547. @c politics; they will do business with anybody.
  548. @c However, a player can define relationships with other sides via tariffs.
  549. @c A tariff is a per-side per-material percentage
  550. @c that will be taken from any transfer from/to units on one side to
  551. @c units on another side.
  552. @c You can define both import and export tariffs.
  553. @c A tariff of zero means free trade,
  554. @c and negative tariffs are allowed; in such cases your stock of
  555.  
  556. @c material is used to add to the transfer.
  557.  
  558. @node Tech Levels, Side Classes, Using Agreements, Sides
  559.  
  560. @subsection Tech Levels
  561.  
  562. In some game designs, technology and research are important.  These
  563. games give each side a set of @dfn{tech levels} (or just @dfn{tech} for
  564. short), one for each type of unit.  The tech level represents the
  565. technological knowledge needed to see, operate and build a type of unit.
  566. Tech levels never decrease, at least in the @i{Xconq} universe, and they
  567. can be increased by research and espionage.
  568.  
  569. There are several tech thresholds for a unit.  First there is
  570. @code{tech-to-see}, below which you will not even be aware of the
  571. existence of a unit (consider barbarians unable to see spy satellites
  572. passing overhead).  Then there is @code{tech-to-use}, which you must
  573. have in order to make the unit do any actions.  The
  574. @code{tech-to-understand} and @code{tech-on-acquisition} are points at
  575. which your side can increase its tech level just by owning a unit, and
  576. finally the @code{tech-to-build} is what you must have to create new
  577. units of the given type.
  578.  
  579. @node Side Classes, Self-Units, Tech Levels, Sides
  580.  
  581. @subsection Side Classes
  582.  
  583. In some games, several sides may be very similar to each other, while
  584. being very different from other sides in the same game.  For instance,
  585. the game might have several sides that are different tribes of
  586. barbarians, but they are more like each other than, say, Romans.  These
  587. similar sides can be given the same @dfn{side class}.  Units may then be
  588. restricted to be usable only by the sides in a particular class.  (Note
  589. that this is different from tech level, which allows units to be used by
  590. any side that has managed to acquire a sufficient tech level.)
  591.  
  592. @node Self-Units, , Side Classes, Sides
  593.  
  594. @subsection Self-Units
  595.  
  596. A @dfn{self-unit} is one that represents your whole side in some way.
  597. For instance, in a dungeon exploration game, your ``side'' might consist
  598. of an adventurer (you), your possessions, your followers, and perhaps
  599. more.  In such a case, if the adventurer dies or is captured, then the
  600. game should be over, at least for you.
  601.  
  602. Usually the self-unit will be set up by the game design, and all you
  603. have to do is to be aware that losing the self-unit permanently ends
  604. your participation in the game.  Some games might have ``self-unit
  605. resurrection'' (@code{self-resurrects}) which just means that if another
  606. type of unit is available when the current self-unit dies, then that
  607. another unit becomes your new self-unit.  For instance, admirals would
  608. leave their sinking flagship and board another ship, thus ``transferring
  609. the flag''.  (Admirals presumably being more valuable than captains, who
  610. are supposed go down with their ships!)  Some games may also allow you
  611. to change self-units manually (@code{self-changeable}).  In any, the
  612. game will define which types may be self-units (@code{can-be-self}).
  613.  
  614. @node Moving the Units, Automation of Units and Sides, Sides, Playing Xconq
  615.  
  616. @section Moving the Units
  617.  
  618. Once the first turn begins, you can begin looking at the display and
  619. moving your units.  Depending on the game design and startup options,
  620. you may or may not be moving simultaneously with the other players.  If
  621. not, then the players move one at a time, in the order that their sides
  622. are listed in any display.  Usually, you can choose freely which units
  623. to move next; you can move one a bit, switch to another, move it, then
  624. come back to the first one later, and so forth.  Some game designs may
  625. require that you move units in a specific order; perhaps all your
  626. aircraft must finish all their movement before any ships can move.
  627.  
  628. @menu
  629. * Turn Setup::
  630. * Types of Actions::
  631. * Movement::                    
  632. * Combat::                      
  633. * Research::                    
  634. * Construction::                
  635. * Repairing Units::             
  636. * Disbanding Units::            
  637. * Transferring Unit Parts::          
  638. * Changing Unit Side::               
  639. * Changing Unit Type::               
  640. * Producing Materials::         
  641. * Transferring Materials::      
  642. * Changing the Terrain::        
  643. @end menu
  644.  
  645. @node Turn Setup, Types of Actions, , Moving the Units
  646.  
  647. @subsection Turn Setup
  648.  
  649. First, @i{Xconq} computes the number of action points available to each
  650. unit.  Each unit gets an increment of action points equal to its
  651. @code{acp-per-turn}.
  652.  
  653. The range of action points for a unit is normally 0 up to the value of
  654. @code{acp-per-turn}, but the parameters @code{acp-min} and
  655. @code{acp-max} may allow for an extended range.  You use this range by
  656. allowing a unit to accumulate extra action points by doing nothing for
  657. several turns, or to recover from an activity that used many action
  658. points all at once.  Think of this as a sort of temporary action
  659. ``debt''.  Units in debt at the beginning of a turn cannot act during
  660. that turn, and will continue to be inactive until they start a turn with
  661. an acp of 1 or more.
  662.  
  663. @node Types of Actions, Movement, Turn Setup, Moving the Units
  664.  
  665. @subsection Types of Actions
  666.  
  667. Actions are the most basic kinds of things your units can do.  During
  668. play, the interface will usually give you capabilities that are easy to
  669. use, such as the ability to point at a destination and have the unit
  670. figure out which path to take to get there, but all such input
  671. eventually breaks down into sequences of actions.  Also, the rules of a
  672. game design are expressed in terms of allowed actions, their costs, and
  673. their consequences.  You will therefore find it useful to understand all
  674. the types of actions available.
  675.  
  676. Each type of action may have one or more ``arguments'' associated
  677. with it.  These are mentioned below as ``given'' values.
  678.  
  679. Movement:
  680.  
  681. @itemize @bullet
  682. @item
  683. @i{Move to} a given location.
  684. The unit being moved may be in a
  685. transport or out in the open, the destination is any location in the
  686. open (this will usually, but not always, be an adjacent cell), and may
  687. be at any altitude allowed for the unit.  (@code{move-to})
  688.  
  689. @item
  690. @i{Enter} a given transport unit.
  691. The transport need not be on the same
  692. side as the entering unit.
  693. (@code{enter})
  694.  
  695. @end itemize
  696.  
  697. Combat:
  698.  
  699. @itemize @bullet
  700.  
  701. @item
  702. @i{Attack} a given unit.
  703. A successful attack causes damage and destruction
  704. to the unit being attacked.
  705. (@code{attack})
  706.  
  707. @item
  708. @i{Overrun} a given location.
  709. The overrunning unit attempts to
  710. occupy the destination, capturing, ejecting, or eliminating any
  711. unfriendly unit present.
  712. (@code{overrun})
  713.  
  714. @item
  715. @i{Fire at} a given unit,
  716. either using a given material as ammunition, or using any available
  717. material.
  718. (@code{fire-at})
  719.  
  720. @item
  721. @i{Fire into} a given location,
  722. either using a given material as ammunition, or using any available
  723. material.
  724. (@code{fire-into})
  725.  
  726. @item
  727. Attempt to @i{capture} a given unit.  If the attempt is successful,
  728. the unit changes side to match that of the capturing unit.
  729. Occupants will either escape, die, or be captured also.
  730. (@code{capture})
  731.  
  732. @item
  733. @i{Detonate} at a given location.
  734. Detonation may damage any or all units in the vicinity
  735. of the detonation, and it may change terrain types as well.
  736. (@code{detonate})
  737.  
  738. @end itemize
  739.  
  740. Construction:
  741.  
  742. @itemize @bullet
  743.  
  744. @item
  745. @i{Research} a given unit type.
  746. This increases the tech level for the type being researched.
  747. (@code{research})
  748.  
  749. @item
  750. @i{Tool up} to build a given unit type.
  751. (@code{toolup})
  752.  
  753. @item
  754. @i{Create} a unit of the given type @i{in} a given unit.
  755. The unit will usually be incomplete.
  756. (@code{create-in})
  757.  
  758. @item
  759. @i{Create} a unit of the given type @i{at} a given location.
  760. The unit will usually be incomplete.
  761. (@code{create-at})
  762.  
  763. @item
  764. @i{Build} a given unit towards completion.
  765. (@code{build})
  766.  
  767. @item
  768. @i{Repair} a given unit, restoring lost hp.
  769. (@code{repair})
  770.  
  771. @end itemize
  772.  
  773. Unit Manipulation Group:
  774.  
  775. @itemize @bullet
  776.  
  777. @item
  778. @i{Disband} a given unit, causing it to disappear.
  779. (@code{disband})
  780.  
  781. @item
  782. @i{Transfer part} of a unit, either to another given unit,
  783. or to a new unit created by this action.
  784. (@code{transfer-part})
  785.  
  786. @item
  787. @i{Change side} of a given unit to a given side.
  788. (@code{change-side})
  789.  
  790. @item
  791. @i{Change type} of a given unit to a given type.
  792. (@code{change-type})
  793.  
  794. @end itemize
  795.  
  796. Material Manipulation Group:
  797.  
  798. @itemize @bullet
  799.  
  800. @item
  801. @i{Produce} a given quantity of a given material type.
  802. (@code{produce})
  803.  
  804. @item
  805. @i{Transfer} a quantity of a given material type to a given unit.
  806. (@code{transfer})
  807.  
  808. @end itemize
  809.  
  810. Terrain Manipulation Group:
  811.  
  812. @itemize @bullet
  813.  
  814. @item
  815. @i{Add terrain} of a given type to a given location.
  816. (@code{add-terrain})
  817.  
  818. @item
  819. @i{Remove terrain} of a given type from a given location.
  820. (@code{remove-terrain})
  821.  
  822. @item
  823. @i{Alter terrain} to a given type at a given location.
  824. (@code{alter-terrain})
  825.  
  826. @end itemize
  827.  
  828. Normally, you as the player and the side simply tell units to perform
  829. these actions themselves.  However, some games will allow the unit to
  830. cause the action to done as if another unit were doing the action.  For
  831. instance, a transport can pick up or drop off a non-moving unit.
  832.  
  833. Not all interfaces can be guaranteed to allow the most general forms of
  834. all these actions; you must consult the interface's documentation to
  835. find out which of these actions is available.
  836.  
  837. @node Movement, Combat, Types of Actions, Moving the Units
  838.  
  839. @subsection Movement
  840.  
  841. Movement into a cell is easy to request--interfaces let you do this with
  842. a keystroke or mouse click--but each game design will have many rules
  843. constraining possible moves, depending both on the unit and the terrain
  844. it is moving over.  Certain kinds of terrain cost extra time to enter,
  845. leave, or cross.  The destination must usually be adjacent to the unit's
  846. current location, and may be at any altitude.
  847.  
  848. The other kind of movement action is to enter/leave a transport.  The
  849. only argument is the unit to enter, but again the constraints are
  850. complicated.  The transport must have sufficient space, both the
  851. entering unit and the transport must have sufficient mp and acp to
  852. complete the move, and the entering unit must be able to cross the
  853. intervening terrain.  The transport may be able to @dfn{ferry} the
  854. would-be occupant over any barriers; possibilities include no ferrying,
  855. ferrying only over the transport's terrain, ferrying over any borders,
  856. and ferrying over all terrain between the would-be occupant and the
  857. transport.
  858.  
  859. Although as with other actions, you use up action points to move, the
  860. cost of movement is based on @dfn{movement points} or @dfn{mp}.  A
  861. unit's @dfn{speed} determines the relationship between acp and mp; most
  862. of unit have a speed of 1.00, so for them acp and mp are the same.
  863. However, a unit with a speed of 4.50 and 2 acp will be able to do moves
  864. costing up to 4.50 * 2 = 9 mp.
  865.  
  866. In some games, you may be able to make one of your units leave the world
  867. entirely.  Sometimes this will seem like a good idea, perhaps to keep a
  868. trapped unit from falling into enemy hands, or because you win the game
  869. by leaving through a designated place.  To do this, you just direct your
  870. unit (which must already be at the edge of the world) to move into one
  871. of the cells along the edge.  If the departure is allowed, then the unit
  872. will simply vanish and be out of the game permanently.
  873.  
  874. In other games, you may be able to do a @dfn{border slide}.  This is
  875. where a unit can jump to a non-adjacent cell if the two cells have a
  876. border whose endpoints touch the starting and ending cell.  This is
  877. typically allowed in games so that ships can go through narrow straits
  878. without having to be ``between cells'' at any time.
  879.  
  880. @node Combat, Research, Movement, Moving the Units
  881.  
  882. @subsection Combat
  883.  
  884. @quotation
  885. War is a matter of vital importance to the State; the province of life
  886. or death; the road to survival or ruin.  It is mandatory that it be
  887. thoroughly studied.  -- SUN TZU (ca 400 BC)
  888. @end quotation
  889.  
  890. There are two basic kinds of combat, each with two versions.  A unit can
  891. either attack or overrun, meaning that it comes to grips with the enemy
  892. in some way, or it can fire, meaning that it keeps its position and
  893. throws rocks or whatever at a target.
  894.  
  895. @dfn{Attack} is directed at a particular unit, while @dfn{overrun} is a
  896. more complex action where the unit attempts to clear enough units from a
  897. given location so that it can move in.
  898.  
  899. A unit wishing to attack picks a position or unit to attack, @i{Xconq}
  900. computes the defender's response, then the outcome is computed.
  901.  
  902. (In future versions of @i{Xconq}, units may become locked in a
  903. ``battle'' and unable to do anything else until the battle is over or
  904. the unit has disengaged somehow.)
  905.  
  906. @dfn{Firing} can happen at long ranges, up to the @code{range} of a
  907. unit.  It may or may not involve using a specific material as
  908. ammunition; if the game gives you a choice, you will have to choose
  909. which, or else all possible types will be used.  You can @dfn{fire at} a
  910. specific unit if you can see it, otherwise you will have to @dfn{fire
  911. into} a cell; perhaps without knowing whether or not you're actually
  912. hitting anything in it.  Some units may also have a @code{range-min} and
  913. cannot fire at anything that is closer than that range.  (ICBMs and some
  914. kinds of artillery are limited in this way.)
  915.  
  916. Some units are capable of capturing other units, with a probability
  917. depending on the types of both units involved, and whether the unit
  918. being captured is independent or belongs to a side
  919. (@code{capture-chance} and @code{independent-capture-chance}).  If the
  920. capture attempt is successful, the capturer will move into the cell if
  921. possible, either as occupant or transport.  In some games, the capturer
  922. may be partially or even completely disbanded, to serve as the garrison.
  923. Capture may also occur as a side effect of a normal attack or overrun.
  924.  
  925. Detonation is a special kind of ``combat'' available to some units.  The
  926. action requires a location, either the unit's own position or a nearby
  927. cell.  Upon detonation, the detonating unit may lose some hp and even
  928. die (changing to its wrecked type, if defined, or else vanishing).  At
  929. the same time, it makes one hit on any units within its radius of
  930. effect.  Detonation may also be triggered automatically, such as by
  931. damage to the unit or even by another unit appearing nearby.
  932.  
  933. @node Research, Construction, Combat, Moving the Units
  934. @subsection Research
  935.  
  936. @quotation
  937. Knowledge is power.  -- FRANCIS BACON (1597)
  938. @end quotation
  939.  
  940. @dfn{Research} increases a side's tech for the unit type being
  941. researched.  Although you can only research a specific type of unit,
  942. some game designs allow for a crossover effect, where increases in the
  943. tech level for one type also increases the level in others.
  944.  
  945. You can have more than one researcher researching the same type, and
  946. thereby speed up your progress, but some games put a ceiling
  947. (@code{tech-per-turn}) on how much progress you can make in one turn.
  948.  
  949. @node Construction, Repairing Units, Research, Moving the Units
  950.  
  951. @subsection Construction
  952.  
  953. @quotation
  954. We must be the great arsenal of democracy.
  955. -- FRANKLIN ROOSEVELT (1940)
  956. @end quotation
  957.  
  958. @dfn{Tooling up} prepares a unit to create or construct the desired
  959. type.  As with research, game designs may allow a crossover effect for
  960. tooling.  Tooling may also decline gradually over time; this is called
  961. @dfn{tooling attrition}.  Many games do not require tooling up.
  962.  
  963. Actual construction of a unit happens in two steps; creation and
  964. building towards completion.  Most interfaces will also schedule
  965. research and toolup actions if a unit is told to build something that
  966. needs tech or tooling first.
  967.  
  968. @dfn{Creation} is the actual step of bringing a new unit into existence.
  969. If the new unit is @i{complete}, then it can be used immediately.  If
  970. not (which is usually the case), then the incomplete unit will exist and
  971. belong to your side, but be unable to do anything at all.  Incomplete
  972. transports cannot have any occupants, unless the occupants are types
  973. capable of helping complete the transport.  Incomplete units always have
  974. 1 hp, so they're vulnerable to attack.
  975.  
  976. @dfn{Completion} is achieved by doing build actions on the unit.
  977. Multiple units can all work on completing the same unit, but they must
  978. be sufficiently close, within a range defined by the game (usually the
  979. same or an adjacent cell).  In some games, there is a level of
  980. completion past which the unit will start working on itself
  981. automatically, and eventually become complete without any further
  982. action.
  983.  
  984. It is @i{usually} the case that the same unit will be able to both
  985. create and complete a unit, but if not, you will have to pay special
  986. attention to your construction plan, since an incomplete unit cannot act
  987. in any way.  You would have to either transport the incomplete unit to a
  988. type that can complete it, or the completing unit must come to the
  989. incomplete one.  Some games may allow the incomplete unit and its
  990. completer to be some distance apart, but the usual rule is that they
  991. must be in the same cell.
  992.  
  993. Note that multi-part units will be considered ``complete'' when just one
  994. of their parts is completed.  Most interfaces will have the builder
  995. continue growing the just-completed unit as long as it remains within
  996. construction range.
  997.  
  998. @node Repairing Units, Disbanding Units, Construction, Moving the Units
  999.  
  1000. @subsection Repairing Units
  1001.  
  1002. @dfn{Repair} restores lost hit points to a unit.  Repairs can be done by
  1003. the damaged unit itself, if it is not too badly damaged, or by another
  1004. unit that is close enough.
  1005.  
  1006. Some games also feature automatic hit point recovery
  1007. (@code{hp-recovery}), so you don't always have to remember to do
  1008. explicit repair actions.
  1009.  
  1010. @node Disbanding Units, Transferring Unit Parts, Repairing Units, Moving the Units
  1011.  
  1012. @subsection Disbanding Units
  1013.  
  1014. @dfn{Disbanding} is a voluntary loss of hp, ultimately resulting in the
  1015. disappearance of the unit.  Most games only allow it for a few types of
  1016. units.  Depending on the game, you may be able to disband the unit with
  1017. one action, or you may need several before the unit actually goes away.
  1018.  
  1019. Units with occupants can disband, but only if the occupants are
  1020. unaffected by the action.  If the unit would vanish or lose transport
  1021. capacity, then the occupants must be disbanded or removed first.  (The
  1022. interface may arrange to do this for you automatically.)
  1023.  
  1024. You always get back all of the disbanded unit's supplies, and they will
  1025. be distributed to other units nearby.  In addition, the disbanded unit
  1026. itself may become a source of materials, according to the table
  1027. @code{recycleable-material}.  A percentage of the total material will
  1028. become available after each action, if disbanding takes several actions
  1029. to accomplish.
  1030.  
  1031. @node Transferring Unit Parts, Changing Unit Side, Disbanding Units, Moving the Units
  1032.  
  1033. @subsection Transferring Unit Parts
  1034.  
  1035. In games where units can vary in size, you can shift one or more parts
  1036. of a multi-part unit to another unit, or else create an entirely new
  1037. unit.
  1038.  
  1039. You would use this action if, for instance, you wanted to detach a
  1040. survey party from an exploring expedition, then rejoin later.
  1041.  
  1042. @node Changing Unit Side, Changing Unit Type, Transferring Unit Parts, Moving the Units
  1043.  
  1044. @subsection Changing Unit Side
  1045.  
  1046. In many games, you can give some of your units to another side.  You may
  1047. also be able to take them from another side, if you control that side.
  1048.  
  1049. Unlike other actions, you may be able to cause a unit to change side
  1050. without actually needing any action points, if the type is one that
  1051. cannot act on its own.
  1052.  
  1053. @node Changing Unit Type, Producing Materials, Changing Unit Side, Moving the Units
  1054.  
  1055. @subsection Changing Unit Type
  1056.  
  1057. A few games allow you to change the type of a unit.
  1058.  
  1059. For instance, you might have this ability in a construction-oriented
  1060. game, where you can take a town that has accumulated sufficient building
  1061. materials and change it into a city.  Another possibility is that you
  1062. have increased your technology level and are now able to transform a
  1063. low-tech ship into a higher-tech ship.
  1064.  
  1065. @node Producing Materials, Transferring Materials, Changing Unit Type, Moving the Units
  1066. @subsection Producing Materials
  1067.  
  1068. @dfn{Production} is how a unit can produce a quantity of a material.
  1069.  
  1070. In many games, units already have a @dfn{base production} that is the
  1071. amount of material that they produce automatically each turn.  This will
  1072. often depend on the terrain, so that explorers in the forest will always
  1073. ``produce'' enough water to drink each turn, but will start to use up
  1074. their water supply when in the desert.
  1075.  
  1076. @node Transferring Materials, Changing the Terrain, Producing Materials, Moving the Units
  1077. @subsection Transferring Materials
  1078.  
  1079. Often there will be plenty of some type of material in the world, but
  1080. the problem is getting it from the units that have it to the units that
  1081. need it.  The @dfn{transfer} action is how you move material supply from
  1082. one unit to another.
  1083.  
  1084. As with production, many games have some automatic transfers set up.
  1085. For instance, games involving aircraft generally refuel them
  1086. automatically whenever the aircraft has landed in a place with fuel to
  1087. spare.  [Demands should be set by doctrine.]
  1088.  
  1089. @node Changing the Terrain, , Transferring Materials, Moving the Units
  1090.  
  1091. @subsection Changing the Terrain
  1092.  
  1093. In some games, units can add or remove borders, connections, or
  1094. coatings, or may even be able to change the overall type of terrain in a
  1095. cell.  The actions are @dfn{add-terrain}, @dfn{remove-terrain}, and
  1096. @dfn{alter-terrain}, respectively.
  1097.  
  1098. The change happens immediately (for the sake of simplicity), but in
  1099. practice, you may find that preparing for the change may take awhile.
  1100. For instance, the unit executing the change might have to accumulate acp
  1101. or materials required for the change.
  1102.  
  1103. @node Automation of Units and Sides, Modes, Moving the Units, Playing Xconq
  1104.  
  1105. @section Automation of Units and Sides
  1106.  
  1107. Specifying the exact sequence of actions and their operands for every
  1108. single unit would be mind-numbingly complex, and, for that matter, not
  1109. very realistic either.  Therefore, @i{Xconq} includes several levels of
  1110. automation for human players.
  1111.  
  1112. The elements of automation are the @i{task}, the @i{plan}, the
  1113. @i{doctrine}, and the @i{strategy}.  These are related to each other by
  1114. @i{goals}.
  1115.  
  1116. @dfn{Tasks} are single activities of a unit that require one or more
  1117. actions to accomplish.  Examples of tasks include moving to a given
  1118. position, or waiting 15 turns to be picked up by a transport.  Most of
  1119. the commands that you give while playing actually set up tasks rather
  1120. than individual actions.
  1121.  
  1122. A @dfn{plan} is the unit's object that expresses its decided-upon
  1123. behavior.  Elements of a plan include a type, possibly one or more
  1124. goals, a @dfn{task agenda}, plus some assorted flags and properties.
  1125. All units that can act and that are on a side will have a plan, while
  1126. independent units that can do actions may have a plan that is preset by
  1127. a scenario.  Plans primarily govern individual behavior, in many cases
  1128. allowing the unit to act on its own, without needing any explicit
  1129. direction from the player.
  1130.  
  1131. The @dfn{doctrine} is the set of parameters governing how the side will
  1132. play and how its units should work generally.  For instance, per-unit
  1133. doctrine specifies the point which a unit low on supply should start to
  1134. look for a place to replenish itself.
  1135.  
  1136. The @dfn{strategy} and associated subobjects is what an AI uses to make
  1137. all the decisions about what to do.  This object is not directly
  1138. visible, unless the AI is acting as your assistant and the interface
  1139. includes a display of its strategy.
  1140.  
  1141. Of all these types of objects, only the doctrine can be manipulated
  1142. directly; all others are implicitly changed as a result of player
  1143. commands, which are different for each interface.
  1144.  
  1145. The @dfn{Standing order} command allows you to set up conditions for
  1146. execution of tasks.
  1147.  
  1148. @menu
  1149. * Using Doctrine::
  1150. * Plans::
  1151. * Tasks::
  1152. * Standing Orders::
  1153. @end menu
  1154.  
  1155. @node Using Doctrine, Plans, , Automation of Units and Sides
  1156.  
  1157. @subsection Using Doctrine
  1158.  
  1159. There is a doctrine for each type of unit on your side.  Several types
  1160. may share a single doctrine, so that changes to it will affect all types
  1161. equally.
  1162.  
  1163. @itemize @bullet
  1164.  
  1165. @item
  1166. wait-for-orders
  1167.  
  1168. This is true if a unit should wait for explicit orders to be issued.
  1169. If false, the unit should make up some sort of default plan and follow it.
  1170.  
  1171. @item
  1172. construction-run
  1173.  
  1174. @end itemize
  1175.  
  1176. [more doctrine info]
  1177.  
  1178. @node Plans, Tasks, Using Doctrine, Automation of Units and Sides
  1179.  
  1180. @subsection Plans
  1181.  
  1182. A unit's plan must be one of the types listed here.
  1183.  
  1184. @itemize @bullet
  1185. @item
  1186. None (@code{none}).
  1187. Units with this type of plan do absolutely nothing. 
  1188.  
  1189. @item
  1190. Passive (@code{passive}).
  1191. Units with a passive plan will execute any tasks they have
  1192. been given, but will not add to the task agenda on their own.
  1193. By default, if you are running the side by yourself,
  1194. with no AI assistant, your units will have this type of plan.
  1195.  
  1196. @item
  1197. Offensive (@code{offense}).
  1198. Units with an offensive plan will look for favorable
  1199. combat opportunities, usually within an area specified as their goal
  1200. to hold.
  1201.  
  1202. @item
  1203. Defensive (@code{defense}).
  1204. Units with a defensive plan will seek to preserve the status quo.
  1205.  
  1206. @item
  1207. Exploratory (@code{explore}).
  1208. Exploratory units will seek to collect information about
  1209. unknown parts of the world.
  1210.  
  1211. @end itemize
  1212.  
  1213. @node Tasks, Standing Orders, Plans, Automation of Units and Sides
  1214.  
  1215. @subsection Tasks
  1216.  
  1217. A task has several standard properties and may have additional properties
  1218. specific to the task's type.  @i{Xconq} keeps track of how many times a
  1219. task has been executed and how many times it has failed to execute a
  1220. step correctly.  For example, a movement task to a distant location may
  1221. need to execute 100 times, but it will only fail if the unit is actually
  1222. blocked from moving.  If a task fails too many times, the plan or the AI
  1223. may decide to remove the task from its agenda.
  1224. If a task succeeds, it will always be removed.
  1225.  
  1226. Each task in a plan's task agenda must be one of the types listed here.
  1227.  
  1228. @itemize @bullet
  1229. @item
  1230. Do nothing (@code{none}).
  1231.  
  1232. @item
  1233. Sentry (@code{sentry @var{turns}}).
  1234. Stand sentry at the present location for a given number of turns.
  1235. This is not the same as sleeping, since it is for a definite period
  1236. of time.
  1237.  
  1238. @item
  1239. Move in a direction (@code{move-dir @var{direction}}).
  1240. Move in the given direction up to the given distance.
  1241.  
  1242. @item
  1243. Move to a location (@code{move-to @var{location}}).
  1244. Move to within a given distance of the given location.
  1245.  
  1246. @item
  1247. Occupy a unit (@code{occupy @var{unit}}).
  1248. Move towards a given unit and attempt to enter it.
  1249.  
  1250. @item
  1251. Pick up a unit (@code{pickup @var{unit}}).
  1252. Move towards the given unit and wait for it to enter.
  1253.  
  1254. @item
  1255. Build (@code{build @var{unit-type n}}).
  1256. Build a given number of units of a given type.
  1257. This task will do research actions if necessary and possible,
  1258. and toolup actions if necessary.
  1259. Also, if there is an incomplete unit of the given type
  1260. nearby, this task will complete it before creating a new unit.
  1261.  
  1262. @item
  1263. Research (@code{research @var{unit-type n}}).
  1264. Do research to increase the tech for a given type
  1265. up to a given level.
  1266.  
  1267. @item
  1268. Hit a position (@code{hit-position @var{location}}).
  1269. Attempt to attack or fire on any units at the given position.
  1270.  
  1271. @item
  1272. Hit a unit (@code{hit-unit @var{unit}}).
  1273. Attempt to attack a given unit.
  1274.  
  1275. @item
  1276. Capture a unit (@code{capture @var{location}}).
  1277. Attempt to capture a unit at a given location,
  1278. optionally of a given type and on a given side.
  1279.  
  1280. @item
  1281. Resupply (@code{resupply @var{material-type}}).
  1282. Replenish depleted supplies.
  1283. This may be accomplished by production actions,
  1284. moving to higher-productivity terrain,
  1285. or by moving within supply range of a unit with the desired
  1286. supplies.
  1287.  
  1288. @item
  1289. Repair (@code{repair @var{unit}}).
  1290. Repair damage to the given unit.
  1291.  
  1292. @item
  1293. Do a specific action (@code{do-action @var{action-parms...}}).
  1294.  
  1295. @end itemize
  1296.  
  1297. @node Standing Orders,  , Tasks, Automation of Units and Sides
  1298.  
  1299. @subsection Standing Orders
  1300.  
  1301. Standing orders are basically a combination of a test or condition and
  1302. a task to be performed when the condition is met.
  1303. The textual form of the command is ``if <type> <test> <task>'',
  1304. where <type> is a name of a unit type, <test> is some sort of condition,
  1305. and <task> is a task, as described previously.
  1306.  
  1307. Possible tests include @code{at @var{location}}, @code{in @var{unit}},
  1308. and @code{near @var{location} @var{dist}}.
  1309.  
  1310. The @code{at} test applies to the unit if it comes to be in a particular cell,
  1311. for whatever reason.  The @var{location} may be either a comma-separated pair
  1312. of coordinates, or the name of a unit.
  1313.  
  1314. The @code{near} test is similar to @code{at}, but you give an additional
  1315. argument that says how close, in cells, the unit must be for the order to apply.
  1316. For instance, a distance of 1 means that the order applies to units at the
  1317. given location and to all adjacent units.  This is useful if you want to
  1318. have several kinds of units use a rendezvous point that is on a type of
  1319. terrain that some of the kinds can't use, or if there are stacking limits
  1320. and requiring all units to converge on a single cell would result in
  1321. traffic jams.
  1322.  
  1323. The @code{in} test applies to the unit if it is an occupant of the given
  1324. unit.
  1325.  
  1326. If a unit is already performing another task, it will ignore any standing
  1327. orders in any location that it happens to be passing over; so it is not
  1328. possible for the standing order to waylay the unit and send off doing
  1329. something else.  The unit must be under your orders (``passive'' plan),
  1330. not have any tasks on its agenda, and cannot be asleep or in reserve.
  1331.  
  1332. @example
  1333. if armor in Paris move-to Antwerp
  1334.  
  1335. if bomber in London move-to 33,54
  1336. if bomber at 33,54 hit-position 34,60
  1337. @end example
  1338. The second example shows how you can use several standing orders together to
  1339. route units around obstacles or dangerous areas.
  1340.  
  1341. @node Modes, Standard Keyboard Commands, Automation of Units and Sides, Playing Xconq
  1342.  
  1343. @section Modes
  1344.  
  1345. Interfaces to @i{Xconq} have typically two major modes governing how
  1346. input will be handled; @dfn{survey mode} and @dfn{move mode}.  The
  1347. purpose of these modes is to streamline the input and interaction
  1348. process; they have no other consequence, and all functionality should be
  1349. available in either mode.
  1350.  
  1351. In survey mode, you are basically just looking around the map.  Normal
  1352. mouse clicks change the focus and perhaps scroll the map, but do not
  1353. cause any units to do anything.
  1354.  
  1355. In move mode, a normal mouse click means to move the currently selected
  1356. unit or units to the location of the click.
  1357.  
  1358. @node Standard Keyboard Commands, Backdrop Weather, Modes, Playing Xconq
  1359.  
  1360. @section Standard Keyboard Commands
  1361.  
  1362. These commands should be available in all versions of @i{Xconq}.
  1363. Additional commands may be defined for some interfaces; see the
  1364. interface's documentation below for more details.
  1365.  
  1366. @set FULL
  1367.  
  1368. @include commands.texi
  1369.  
  1370. @node Backdrop Weather, Backdrop Economy, Standard Keyboard Commands, Playing Xconq
  1371.  
  1372. @section Backdrop Weather
  1373.  
  1374. Some games include @i{environmental effects}, which includes what we
  1375. normally think of as weather; the temperature, clouds, wind, rainfall,
  1376. snowfall, and snow cover on the ground.
  1377.  
  1378. The temperature falls in a range specified by the game, and may be
  1379. computed in different ways depending on the game design, but typically
  1380. depends on terrain, latitude, the severity of the seasons, and
  1381. elevation.  Temperature may also vary randomly from turn to turn and
  1382. cell to cell.  [describe effects of temperature on units]
  1383.  
  1384. A game may include clouds.  Clouds in @i{Xconq} are a single band, with
  1385. a density, altitude of cloud bottom, and cloud height in each cell.  In
  1386. this example side view below, @code{o} and @code{O} represent different
  1387. densities of cloud, and @code{-} is the tops and bottoms, while @code{^}
  1388. shows the ground.
  1389. @example
  1390.     ----     --  -
  1391.   --oOOo --  OO  o
  1392.   OOoOOo oo--OO  -
  1393. ^^--oOO- --OO--
  1394.   ^ --- ^^^--  ^^^^^
  1395.    ^^^^^   ^^^^
  1396. @end example
  1397. The chief effect of clouds is to prevent the viewing of units on the
  1398. other side of the clouds.
  1399.  
  1400. A game may also include wind.  Wind has a force and a direction for each
  1401. cell.  Wind affects the weather by causing clouds and storms to move
  1402. around.  Certain unit types, such as sailing ships and balloons, may
  1403. depend on the wind to be able to move around, and their speed will
  1404. depend on the direction they take with respect to the wind.
  1405.  
  1406. Games may assert that the playing area represents part of a sphere,
  1407. possibly tilted on its axis, and that poles and equator correspond to
  1408. various latitudes.  If the game allows temperatures to vary according to
  1409. the time of year and the latitude, you will have seasons.
  1410.  
  1411. @node Backdrop Economy, Backdrop Random Events, Backdrop Weather, Playing Xconq
  1412.  
  1413. @section Backdrop Economy
  1414.  
  1415. The economy in @i{Xconq} is based upon materials.  Games that do not
  1416. include any material types do not have any of the activities described
  1417. in this section.
  1418.  
  1419. @menu
  1420. * Material Consumption::
  1421. * Material Movement::
  1422. @end menu
  1423.  
  1424. @node Material Consumption, Material Movement, , Backdrop Economy
  1425.  
  1426. @subsection Material Consumption
  1427.  
  1428. Units consume their supplies, both in the course of existence, and by
  1429. motion/combat.  The rate depends on game and unit type; it consists of
  1430. an overhead consumed each turn without fail, and consumption for each
  1431. cell of movement.  The total is a max, not a sum, since units with a
  1432. constant consumption rate are not likely to need additional supplies to
  1433. move (consider foot soldiers who eat as much sitting around as they do
  1434. walking).  Supplies may also be consumed for production and repair,
  1435. again depending on game and unit types, but this consumption happens
  1436. during the build phase.  Consumption is not affected by the situation of
  1437. the consuming unit; armies in troop transports eat just as much as when
  1438. in the field.
  1439.  
  1440. @node Material Movement, , Material Consumption, Backdrop Economy
  1441.  
  1442. @subsection Material Movement
  1443.  
  1444. Excess production is discarded, unless it can be unloaded into the
  1445. producer's occupying units, or distributed to nearby units via
  1446. @dfn{supply lines}.  Supply lines automatically exist between units that
  1447. are close enough (as set by the game), and there is no need for explicit
  1448. manipulation.  Supply line length depends on the game and the units on
  1449. both ends, but is not affected by the intervening terrain.  Supply
  1450. redistribution does not account for special needs anywhere; it just
  1451. tries to utilize production excess.  The redistribution method is rather
  1452. adhoc; units try to get rid of all their excess supply, and try to take
  1453. up supply from other units within supply range.  Each direction is
  1454. controlled independently, so for instance airplanes can get
  1455. automatically refueled from a nearby city, but not from each other.  No
  1456. unit will transfer all of its supply via supply lines.  Normally units
  1457. in the same cell can exchange supplies, but some games can disable this
  1458. behavior (@code{out-length} < 0), so that explicit transfer using the
  1459. give and take commands is always necessary.
  1460.  
  1461. @node Backdrop Random Events, Scoring, Backdrop Economy, Playing Xconq
  1462.  
  1463. @section Backdrop Random Events
  1464.  
  1465. Some games may include @dfn{random events}.  These are usually rare, but
  1466. not always -- be sure you know the odds!
  1467.  
  1468. @menu
  1469. * Accidents::
  1470. * Attrition::
  1471. * Revolts::
  1472. * Surrenders::
  1473. @end menu
  1474.  
  1475. @node Accidents, Attrition, , Backdrop Random Events
  1476.  
  1477. @subsection Accidents
  1478.  
  1479. For some types of units in some types of terrain, there is a chance for
  1480. it to have an @dfn{accident} that wrecks or eliminates the unit
  1481. instantly.  This depends on both unit type and terrain type.  If the
  1482. accident occurs, the unit is wrecked or vanishes along with all its
  1483. occupants.  ``Wrecking'' and ``vanishing'' have separate probabilities.
  1484. Occupants may survive wrecking, but never vanishing.
  1485.  
  1486. @node Attrition, Revolts, Accidents, Backdrop Random Events
  1487.  
  1488. @subsection Attrition
  1489.  
  1490. @dfn{Attrition} is ``slow death''; it takes away some number of hit
  1491. points each time it occurs.  The rate of attrition depends on unit type
  1492. and terrain or transport type.  Very low attrition rates may only take
  1493. away one hp once in a while.
  1494.  
  1495. @node Revolts, Surrenders, Attrition, Backdrop Random Events
  1496.  
  1497. @subsection Revolts
  1498.  
  1499. In a @dfn{revolt}, the unit changes sides spontaneously, perhaps to
  1500. independence, perhaps to the side of a nearby unit.  Occupants will
  1501. change over if possible, or else escape if possible, or else be killed.
  1502. Any plans will be cancelled.
  1503.  
  1504. @node Surrenders,  , Revolts, Backdrop Random Events
  1505.  
  1506. @subsection Surrenders
  1507.  
  1508. @dfn{Surrender} is like revolt, but is always to the side of a nearby
  1509. unit that is capable of attacking and/or capturing.  The capturing unit
  1510. does not move.  Occupants of the surrendering unit also change over,
  1511. escape, or die.
  1512. @c Chance of surrender is increased by low unit morale [define].
  1513.  
  1514. @node Scoring, Playing in Realtime, Backdrop Random Events, Playing Xconq
  1515.  
  1516. @section Scoring
  1517.  
  1518. @quotation
  1519. Victory at all costs, victory in spite of all terror,
  1520. victory however long and hard the road may be;
  1521. for without victory there is no survival.
  1522. -- WINSTON CHURCHILL (1940)
  1523. @end quotation
  1524.  
  1525. Different games can have different ways for players to win or lose.
  1526. Some games may not have any scoring at all, while others have very
  1527. complicated formulas.  You should be aware of the scoring in effect
  1528. @emph{before} you start to play a game!
  1529.  
  1530. In @i{Xconq}, a game's @dfn{scorekeepers} define how scoring is to be
  1531. done.  Each scorekeeper tests some sort of condition and/or maintains a
  1532. numeric score.  Scorekeepers also define when they run (perhaps only
  1533. during certain turns or certain times within a turn) and which sides to
  1534. look at.  Each scorekeeper is independent of the others, meaning it only
  1535. takes one to decide if you win or lose.
  1536.  
  1537. In a game with many players, winning and losing can be a complicated
  1538. issue; read the conditions carefully.  A scorekeeper can also decide to
  1539. declare a game to be a draw and end it on the spot.
  1540.  
  1541. Once a side has won, it is out of the game.  Some scorekeepers only
  1542. allow one winner, others allow several; in those cases, the scorekeeper
  1543. will say what happens to the winning side's units.
  1544.  
  1545. Once a side has lost, it cannot be brought back into a game, even if
  1546. another side tries to give it some more units or otherwise to reverse
  1547. things.
  1548.  
  1549. It may also be possible to declare a draw, but all players still in a
  1550. game have to agree to this.  While human players just have to enter the
  1551. appropriate command (or answer appropriately when asking to quit the
  1552. game), AIs may not always be willing to go along, particularly if they
  1553. think they still have a chance to win.  If that happens, you must
  1554. continue on.  (Some cowards have been known to abort the program or
  1555. reboot the machine, in order to avoid an ignominious fate; unfortunately
  1556. @i{Xconq} is merely a program and cannot prevent such slimy tricks.)
  1557.  
  1558. Finally, some games may record everybody's final scores into a file.
  1559.  
  1560. @menu
  1561. * Last-Side-Wins Scorekeeper::  
  1562. * Occupation Scorekeeper::      
  1563. * Unit Count/Sum Scorekeeper::  
  1564. @end menu
  1565.  
  1566. @node Last-Side-Wins Scorekeeper, Occupation Scorekeeper, , Scoring
  1567.  
  1568. @subsection Last-Side-Wins Scorekeeper
  1569.  
  1570. The most common form of scoring in @i{Xconq} is called
  1571. @code{last-side-wins}.  It is basically a fight to the death; any side
  1572. that loses all of its units loses the game, and the last side with any
  1573. units remaining is declared the winner.  It is possible that more than
  1574. one side will lose all of its units at the same time, in which case
  1575. @i{Xconq} declares a draw.
  1576.  
  1577. Since this would sometimes lead to bizarre stalemates (a submarine could
  1578. hide at sea, thus preventing the side from losing, for instance), many
  1579. games also define @dfn{point values} for units.  In such cases,
  1580. @code{last-side-wins} makes a side lose when the sum of point values of
  1581. all its units is zero, and the interface will have some way to display
  1582. your current points.  By default, each unit of each type has a point
  1583. value of 1; many games will define point values that apply to all units
  1584. of the same type.  Some games may also define special point values for
  1585. individual units.
  1586.  
  1587. @node Occupation Scorekeeper, Unit Count/Sum Scorekeeper, Last-Side-Wins Scorekeeper, Scoring
  1588.  
  1589. @subsection Occupation Scorekeeper
  1590.  
  1591. Occupation means that you have one of your own units in or near a fixed
  1592. location or unit.
  1593.  
  1594. @node Unit Count/Sum Scorekeeper,  , Occupation Scorekeeper, Scoring
  1595.  
  1596. @subsection Unit Count/Sum Scorekeeper
  1597.  
  1598. This is a simple count of units, or else a summation of the values of
  1599. some property, such as hit points.
  1600.  
  1601. @node Playing in Realtime, Advanced Play, Scoring, Playing Xconq
  1602.  
  1603. @section Playing in Realtime
  1604.  
  1605. Some game designs define limits on the realtime duration of a game.  For
  1606. instance, the game might be set to end in one hour, a single turn might
  1607. be limited to always last at most 2 minutes, or your side might be
  1608. limited to 15 minutes of playing time, in the manner of a chess clock.
  1609. If such limits are in effect, your display should be able to show you
  1610. how much time you have left at any moment; pay attention!
  1611.  
  1612. When you run out of time, you are not automatically taken out of the
  1613. game, but you can no longer do anything with your units.  Units that
  1614. already have plans will continue to act on them.
  1615.  
  1616. The game design may give you a limited number of ``timeouts'' that you
  1617. can call to stop the clock.  The timeout ends when you order a unit to
  1618. do something.  Other sides will also be able to play while the clocks
  1619. are not running.
  1620.  
  1621. You can see what the limits are by looking at the ``game design'' node
  1622. of the online help.
  1623.  
  1624. @node Advanced Play, Playing Hints, Playing in Realtime, Playing Xconq
  1625.  
  1626. @section Advanced Play
  1627.  
  1628. This section covers additional features that may interest experienced
  1629. players.
  1630.  
  1631. @menu
  1632. * Mixing Game Modules::         
  1633. * Personalizing Your Side::     
  1634. @end menu
  1635.  
  1636. @node Mixing Game Modules, Personalizing Your Side, Advanced Play, Advanced Play
  1637. @subsection Mixing Game Modules
  1638.  
  1639. Some interfaces (such as those using Unix-style command lines) may let
  1640. you ask for more than one game design when starting up.  This is
  1641. sometimes useful, for instance, if you want to play on the
  1642. @code{steppes} world with a non-standard set of units; your command line
  1643. might look like @code{-g my-hacked-standard -g steppes}.  You can also
  1644. turn things around and load a file with your own changes after a
  1645. complete game, as in @code{-g gettysburg -g my-tweaks}.
  1646.  
  1647. Be aware, however, that this cannot be guaranteed to work always, since
  1648. the mixed-together game designs may have mutually conflicting
  1649. definitions, or interfere with each other in subtle or not-so-subtle
  1650. ways.  Just imagine the disaster if the world consists entirely of
  1651. terrain that is instant death to your initial units!  Worse, @i{Xconq}
  1652. may start up and run OK for awhile, then at the moment you're about to
  1653. win---the object that you must capture simply cannot be captured by any
  1654. unit at all.
  1655.  
  1656. So be careful about mixing designs!
  1657.  
  1658. @node Personalizing Your Side,  , Mixing Game Modules, Advanced Play
  1659.  
  1660. @subsection Personalizing Your Side
  1661.  
  1662. Many games will pre-assign your side's name, emblem, enemies, and so
  1663. forth.  However, many others allow you to change all that to suit your
  1664. tastes.
  1665.  
  1666. The name is a proper noun such as ``Poland'', the noun is what you would
  1667. call an individual, such as ``Pole'', the plural is for more than one,
  1668. and <adj> is the adjective for things on that side, such as ``Polish''.
  1669. The color scheme is a comma-separated list of color names, and <image
  1670. name> names some sort of image file (like a bitmap).
  1671.  
  1672. The image may be of any size and combination of colors, with the caveat
  1673. that it may not always work correctly.  For instance, two subtly
  1674. different shades may get fused into a single solid color.  The emblem
  1675. should also be small enough to fit reasonably into unit icons.  As a
  1676. rule, most national flags will fit into a 7x5 rectangle, and coats of
  1677. arms into a 7x9 region.  The color scheme should be useful by itself,
  1678. when the unit icons are too small to fit the emblem.
  1679.  
  1680. @i{Xconq} will not allow you to have the same name, color, or emblem as
  1681. another player in the same game.
  1682.  
  1683. The interface-specific side configuration uses the favored mechanism for
  1684. that interface (if one is defined).  You should check with the interface
  1685. documentation for more details.
  1686.  
  1687. @node Playing Hints, Problems and Troubleshooting, Advanced Play, Playing Xconq
  1688.  
  1689. @section Playing Hints
  1690.  
  1691. This section is a collection of bits of information and advice derived
  1692. from players' actual experience playing @i{Xconq}.
  1693.  
  1694. @menu
  1695. * Player Alliances::            
  1696. * Advantage Rounding::          
  1697. * Strategy::                    
  1698. @end menu
  1699.  
  1700. @node Player Alliances, Advantage Rounding, , Playing Hints
  1701.  
  1702. @subsection Player Alliances
  1703.  
  1704. Informal alliances frequently happen in games involving more than two
  1705. people, so I have a few words of advice.  First, an alliance between two
  1706. of the players is almost certain in a three-person game, and inevitably
  1707. results in the ``odd man out'' being quickly defeated.  In four-person
  1708. games, the alliances could be decided after looking at the map via a
  1709. command-line option such as @code{-v}, so that one pair is not
  1710. hopelessly separated.  Five or more players is going to be a
  1711. free-for-all of formal and informal alliances.  Some scenarios are
  1712. designed with a particular number of players in mind.
  1713.  
  1714. @node Advantage Rounding, Strategy, Player Alliances, Playing Hints
  1715.  
  1716. @subsection Advantage Rounding
  1717.  
  1718. When you set the advantage, @i{Xconq} multiplies the desired advantage
  1719. with the normal number of starting units, then divides by the default
  1720. advantage and ROUNDS DOWN.  This means that you might end up with a lot
  1721. fewer units than you thought.  For instance, suppose that you have a
  1722. game where each player starts with one large city and five towns, and
  1723. this is considered to be an advantage of 10, because one large city is
  1724. worth about as much as 5 towns.  Then if you select an advantage of 8,
  1725. and your opponent selects 14 (because you're a better player perhaps),
  1726. @i{Xconq} will give you 8/10 of the normal setup, which means four towns
  1727. and NO large city.  Your opponent will get 14/10 of the setup, which
  1728. works out to one large city and seven towns, which is really a 1 to 3
  1729. disparity, much more than the planned 4 to 7.  This is not a bug, just a
  1730. limitation of the method.
  1731.  
  1732. @node Strategy, , Advantage Rounding, Playing Hints
  1733.  
  1734. @subsection Strategy
  1735.  
  1736. The correct strategy for a game will depend on the game; some are
  1737. deliberately designed to encourage or even force you to adopt a
  1738. particular strategy.  In general however, classic principles of strategy
  1739. apply perfectly to @i{Xconq}.  First, the words of an ancient master:
  1740.  
  1741. @quotation
  1742. Generally in war the best policy is to take a state intact; to ruin it
  1743. is inferior to this.  -- SUN TZU
  1744. @end quotation
  1745.  
  1746. @quotation
  1747. Attack where he is unprepared; sally out when he does not expect you.
  1748. -- SUN TZU
  1749. @end quotation
  1750.  
  1751. @quotation
  1752. There has never been a protracted war from which a country has benefited.
  1753. -- SUN TZU
  1754. @end quotation
  1755.  
  1756. The most important consideration is to conceal your own forces and
  1757. movements as much as possible.  Decoys and feints are worthwhile, but
  1758. only if they don't draw critical strength away from your real purpose.
  1759.  
  1760. Don't rush to attack with weak forces.  Especially over long distances,
  1761. the defender has the advantage.  Wait until you have assembled enough to
  1762. take and hold a piece of territory, then allow some extra, just in case.
  1763.  
  1764. Have a plan, and have some contingency plans ready as well.
  1765.  
  1766. Be ready to take advantage of opportunities.
  1767.  
  1768. @node Problems and Troubleshooting, The Game Library, Playing Hints, Playing Xconq
  1769.  
  1770. @section Problems and Troubleshooting
  1771.  
  1772. This section describes some of the problems you might encounter,
  1773. and what to do about them.
  1774.  
  1775. @menu
  1776. * Errors and Warnings::            
  1777. * Cheating::          
  1778. @end menu
  1779.  
  1780. @node Errors and Warnings, Cheating, , Problems and Troubleshooting
  1781.  
  1782. @subsection Errors and Warnings
  1783.  
  1784. ``Errors'' are fatal flaws.  @i{Xconq} must shut itself down in order to
  1785. prevent a bad situation from getting worse.  You may be able to save the
  1786. game, repair it, and restart it, but you must understand a good deal
  1787. about GDL and about how @i{Xconq} works.
  1788.  
  1789. ``Warnings'' are advice that something is amiss, but that there is no
  1790. obvious reason to quit.
  1791.  
  1792. Any error or warning not listed below is almost certainly a bug, most
  1793. likely in a game design, but maybe in @i{Xconq}, and should be reported
  1794. as such.
  1795.  
  1796. @table @code
  1797.  
  1798. @item Can't find module @var{xxx} anywhere
  1799. This means that @i{Xconq} searched in the library locations it knows
  1800. and found no modules named @var{xxx}.
  1801.  
  1802. @item Module @var{xxx} could not be opened
  1803. This typically means that although the module was found, it could
  1804. not be opened; for instance, it might have been read-protected.
  1805.  
  1806. @item Too many players
  1807. Some game designs limit the number of players, and you asked for
  1808. more than that.  Ask for fewer.
  1809.  
  1810. @item Requested advantage is too (low, high)
  1811. The game design limits the range of advantages that you may request,
  1812. and you went outside that range.
  1813.  
  1814. @item Only @var{n} of the requested displays opened
  1815. (not the most useful message in the world - only document the
  1816. "xxx could not be opened" message?)
  1817.  
  1818. @item Need at least one display to run
  1819. @i{Xconq} is an interactive game; a game with no displays at all
  1820. is sort of pointless, eh?
  1821.  
  1822. @item Images were not found
  1823. A game design may not have had images defined for
  1824. all types of units and terrain.
  1825. @i{Xconq} will warn about this, then make up some (typically ugly)
  1826. default images itself.  Actual game play will be unaffected.
  1827.  
  1828. @item @var{xxx} color is way off on display @var{yyy}
  1829. It may be that a particular display and its software will not
  1830. have set up a color that matches what was requested (this can
  1831. happen in X, for instance).  This has no direct effect on game
  1832. play, but some of the players may have difficulty if, say,
  1833. their displays show several different terrain types as having
  1834. the same color.
  1835.  
  1836. @item Memory exhausted
  1837. Some @i{Xconq} games are exceedingly large and complex, and it is
  1838. not unusual that they will need more than that available RAM or
  1839. swap space.  This will typically occur during game setup, since
  1840. @i{Xconq} preallocates nearly all of the space it will need.
  1841. If you have no way to get more memory, you must choose a smaller
  1842. game.  You can make a given game smaller by choosing the ``See All''
  1843. variant (no need to record views for each side) or by having fewer
  1844. players and/or fewer AIs.  For instance, instead of playing against 7 AIs,
  1845. you can play against one AI with an initial advantage of 7.
  1846.  
  1847. @item Can't open statistics file @var{xxx}
  1848. (Obvious)
  1849.  
  1850. @item Can't open score file @var{xxx}
  1851. (Obvious)
  1852.  
  1853. @item Sides have undesirable locations
  1854. A game can specify how close and how far away each side should be from
  1855. all the others, and the kind of terrain each will start on.  If the
  1856. world is too small, or doesn't have the right kinds of terrain, then
  1857. @i{Xconq} will warn about this.  The game will still play normally, but
  1858. it may be grossly unfair, and if the sides start out hidden from each
  1859. other, it may be a while until it becomes obvious how unfair it really
  1860. is.
  1861.  
  1862. @end table
  1863.  
  1864. @node Cheating,  , Errors and Warnings, Problems and Troubleshooting
  1865.  
  1866. @subsection Cheating
  1867.  
  1868. The standard builtin AI @code{mplayer} does not cheat; it always plays
  1869. according to the same rules as you do.  This should be true of any AI in
  1870. @i{Xconq}.  If you have evidence that would seem to indicate that any AI
  1871. is using information it should not have, or is otherwise cheating, that
  1872. is a bug and should be reported.  Note that sometimes the AI is smarter
  1873. than you are, or moves more quickly; it may very well have spotted one
  1874. of your units and disappeared again without you noticing.
  1875.  
  1876. Cheating by human players is possible, though not easy.
  1877. For instance, a player could examine a saved game and learn all kinds
  1878. of things, perhaps even starting up a separate game from it.
  1879. As always, human ingenuity will defeat any purely technical defenses,
  1880. and the best way to forestall cheaters is to refuse to play with them.
  1881. If you suspect cheating, look at the game history and the final game
  1882. statistics for things that seem suspicious.
  1883.  
  1884. @node The Game Library,  , Problems and Troubleshooting, Playing Xconq
  1885.  
  1886. @section The Game Library
  1887.  
  1888. One of @i{Xconq}'s distinguishing features is its extensive game library.
  1889. The variety can be rather confusing; which game @emph{should} you be playing?
  1890. To make matters worse, many of the games are still experimental, and
  1891. not yet polished creations.
  1892.  
  1893. The following sections list the notable games in the distributed library
  1894. The list is necessarily incomplete, and details of the
  1895. games may change from release to release, so treat this only as a guide.
  1896. Read the game's own instructions and notes for detailed information;
  1897. if those are sketchy or missing, then it is most likely that the game
  1898. is still being developed.
  1899.  
  1900. @menu
  1901. * Generic Games::
  1902. * Ancient History::
  1903. * European History::
  1904. * American History::
  1905. * WWII::
  1906. * Empire-Building::
  1907. * Fantasy::
  1908. * Science Fiction::
  1909. * Miscellaneous Games::
  1910. @end menu
  1911.  
  1912. @node Generic Games, Ancient History, The Game Library, The Game Library
  1913.  
  1914. @subsection Generic Games
  1915.  
  1916. @i{Xconq} belongs to what might be called the ``Empire'' family
  1917. of computer games; players each start with a small country and
  1918. attempt to take over the world.  The available units, which
  1919. players must build for themselves during the game, are generally
  1920. modern military but somewhat abstract; armies, airplanes, battleships,
  1921. and suchlike.
  1922. The actual game designs in this category are just variations
  1923. on the theme, being more/less complex or faster/slower-paced.
  1924.  
  1925. @table @code
  1926.  
  1927. @item intro
  1928. This is a simple game designed for newcomers to @i{Xconq}.
  1929. It is not really very interesting once you've learned how to play.
  1930.  
  1931. @item standard
  1932. The standard game is, well, the standard @i{Xconq} game.  It is by far
  1933. the most developed, tested, and polished.  You can enjoy @i{Xconq} for
  1934. years playing only this game and its variants.
  1935.  
  1936. @item classic
  1937. The standard game of version 7 has been enhanced to take advantage
  1938. of its new features, such as rivers and roads, but if you like the
  1939. standard game of 5.x and want to continue with it,
  1940. @code{classic} is a very close approximation.
  1941.  
  1942. @item crater-lake
  1943. This is a classic of 5.x, so named because of the mountain ring
  1944. with lake in the middle.  The real notable feature of this is the
  1945. difficulty of mounting any offensive; this game has been
  1946. fought to a stalemate time and time again.
  1947.  
  1948. @item old-empire
  1949. Stroll down memory lane.  This is a workalike of the old simple
  1950. Empire game, complete with imbalance, slow pacing, and other problems.
  1951. Compare how it plays versus the standard game; the flaws should be
  1952. obvious.
  1953.  
  1954. @item earth-2deg, earth-1deg, earth-50km
  1955. The entire Earth, at scales of 2 degrees/cell, 1 degree/cell, and
  1956. 50km/cell, respectively.  This means that the areas are 180x64, 360x140,
  1957. and 800x320 cells in size, which makes for games that are simply
  1958. gigantic.
  1959.  
  1960. @end table
  1961.  
  1962. @node Ancient History, European History, Generic Games, The Game Library
  1963.  
  1964. @subsection Ancient History
  1965.  
  1966. @table @code
  1967.  
  1968. @item pelops
  1969. If you're a fan of ancient history, try this version of the
  1970. Peloponnesian War.  Although its game parameters need more work,
  1971. you can get some idea of the scale of the conflict.  This is
  1972. also a three-sided game, allowing for someone to play the Persians
  1973. and perhaps win by exploiting the Athenians and Spartans.
  1974.  
  1975. @item rom-civ-war
  1976. The Roman Civil War, played out on a very nice map of the Roman world.
  1977.  
  1978. @end table
  1979.  
  1980. @node European History, American History , Ancient History, The Game Library
  1981.  
  1982. @subsection European History
  1983.  
  1984. @table @code
  1985.  
  1986. @item voyages
  1987. This represents the Age of Discovery.
  1988.  
  1989. @item magellan
  1990. Attempt to re-create Magellan's voyage around the world.
  1991. Based on @code{voyages}.
  1992.  
  1993. @item 1756, 1757
  1994. These are renditions of the annual campaign seasons that made up the
  1995. Seven Years' War.
  1996.  
  1997. @item 1805
  1998. Napoleon's Austrian campaign of 1805, of which the battle of Austerlitz
  1999. proved to be the key action.
  2000.  
  2001. @item red-october
  2002. The Russian revolution.
  2003.  
  2004. @end table
  2005.  
  2006. @node American History, WWII, European History, The Game Library
  2007.  
  2008. @subsection American History
  2009.  
  2010. @table @code
  2011.  
  2012. @item gettysburg
  2013. This is a set-piece version of the Battle of Gettysburg,
  2014. at the brigade level with hourly turns.
  2015. The setup is very detailed, but the mechanics too simple, which unfortunately
  2016. allows some rather bizarre-looking battles to develop.
  2017.  
  2018. @end table
  2019.  
  2020. @node WWII, Empire-Building, American History, The Game Library
  2021.  
  2022. @subsection WWII
  2023.  
  2024. The WWII games listed here are technical, detailed, and specialized to
  2025. particular time periods or scenarios.
  2026.  
  2027. @table @code
  2028.  
  2029. @item panzer
  2030. This is a fast-paced tactical Eastern Front game, similar to the board
  2031. games on the subject.  Features include strict line-of-sight (thus you
  2032. can hide behind hills and trees), ranged fire, and a wide assortment of
  2033. hardware.  It's not really very accurate, and it's stretching
  2034. @i{Xconq} to use it for a tactical game, but great fun anyway.
  2035.  
  2036. @item magnusvew
  2037. A large scenario based on a Panzerblitz(tm) board game scenario
  2038. designed by Robert Harmon.
  2039.  
  2040. @item cherbourg, cobra, normandy
  2041. These are all battalion-level games using the base game @code{ww2-bn}.
  2042. The @code{cherbourg} scenario covers the capture of Cherbourg in the
  2043. Normany campaign, while @code{cobra} is a reenactment of Operation Cobra,
  2044. and @code{normandy} is the whole invasion!  While @code{cherbourg} is
  2045. reasonably sized, the others are monster games that will need lots of
  2046. memory and lots of time to play.
  2047.  
  2048. @item nw-europe
  2049. This game is at the division level, being about the entire
  2050. NW Europe campaign.  Although you can open by landing in Normandy,
  2051. you can try invading anywhere you like.
  2052.  
  2053. @item ww2-eur-42
  2054. This is a theater-level simulation of WWII in Europe, starting in
  2055. January 1942.  The Germans are on the ascendant everywhere, the Soviets
  2056. hard-pressed, and the Americans only just getting involved.  The game
  2057. has a lot of sides; either AIs have to play them or you'll need to round
  2058. up a bunch of players.
  2059.  
  2060. @item ww2-38, ww2-39, ww2-42
  2061. These are full global scenarios for advanced WWII.  Can they really be
  2062. played as games?  Probably not -- but so what, we just want to scroll
  2063. around and admire it all!
  2064.  
  2065. @item ww2s-eur-42, ww2s-42
  2066. WWII again, but using the unit types and terrain of the standard game,
  2067. and with only two sides, Axis and Allies.  It's not realistic enough
  2068. for purists, but can certainly be exciting to play.
  2069.  
  2070. @item flattop
  2071. This game is a somewhat abstract version of tactical naval combat.
  2072. You have a force of carriers and battleships, plus a contingent
  2073. of smaller vessels, and a similar opposing force somewhere out
  2074. there.  Use your PBYs to find them, before their subs and destroyers
  2075. get in to sink your capital ships.
  2076.  
  2077. @item coral-sea
  2078. This is the battle of the Coral Sea, both land and sea, at the operations
  2079. level.  Airplanes are simply part of carriers' combat abilities.
  2080.  
  2081. @item midway
  2082. The Battle of Midway.
  2083.  
  2084. @end table
  2085.  
  2086. @node Empire-Building, Fantasy, WWII, The Game Library
  2087.  
  2088. @subsection Empire-Building
  2089.  
  2090. The games in this category include more economic development than the
  2091. combat oriented generic games.
  2092.  
  2093. @table @code
  2094.  
  2095. @item empire
  2096. An Xconqification of ``true'' or ``net'' Empire, which is a large and
  2097. complex economic/military game.
  2098.  
  2099. @item modern
  2100. Stan's conception of modern times.
  2101.  
  2102. @end table
  2103.  
  2104. @node Fantasy, Science Fiction, Empire-Building, The Game Library
  2105.  
  2106. @subsection Fantasy
  2107.  
  2108. Although @i{Xconq} was never designed for the swords&sorcery genre,
  2109. it turns out to be able to support some rather interesting games.
  2110.  
  2111. @table @code
  2112.  
  2113. @item cave
  2114. A basic dungeon game, where you wander around a maze and collect
  2115. valuable items and battle various monsters.
  2116.  
  2117. @item u-midearth
  2118. Tolkien's Middle Earth, what else?
  2119.  
  2120. @item ring-quest
  2121. Middle Earth, but pursuing the One Ring specifically.
  2122.  
  2123. @c fantasy
  2124.  
  2125. @c wizard
  2126.  
  2127. @end table
  2128.  
  2129. @node Science Fiction, Miscellaneous Games, Fantasy, The Game Library
  2130.  
  2131. @subsection Science Fiction
  2132.  
  2133. @i{Xconq} was never really designed for outer-space games either,
  2134. there are some fun if unrealistic designs.
  2135.  
  2136. @table @code
  2137.  
  2138. @item galaxy
  2139. A sort of generic outer space game with units mixed from various
  2140. fictional universes.
  2141.  
  2142. @item starwars
  2143. A moderately silly game very loosely based on Star Wars.
  2144. @c "planets"
  2145.  
  2146. @item tokyo, monster
  2147. Inspired by a description of an old board called ``Crush Crumble and Chomp'',
  2148. this is a game featuring one side as Godzilla and the other side as Tokyo.
  2149. Hard to say whether it's more fun to play Godzilla and stomp on buildings,
  2150. or to play the national guard and try to defeat him before Tokyo is
  2151. entirely flattened!
  2152.  
  2153. If you ask for just @code{monster}, you will get a randomized setup for
  2154. this game.
  2155.  
  2156. @c postmodern
  2157.  
  2158. @end table
  2159.  
  2160. @node Miscellaneous Games, , Science Fiction, The Game Library
  2161.  
  2162. @subsection Miscellaneous Games
  2163.  
  2164. Some games just don't fit in any category.
  2165.  
  2166. @table @code
  2167.  
  2168. @item beirut
  2169. A somewhat disrespectful renditions of the goings-on in Beirut
  2170. during the early 1980s.  Seven different sides, all fighting
  2171. each other with tanks, death squads, and car bombs.
  2172.  
  2173. @item duel
  2174. Two tanks, small area, no tricks.
  2175.  
  2176. @item hill
  2177. Play the children's game ``King of the Hill''.  As an early tester said,
  2178. ``Man, I figured you must have been on some really good drugs!''
  2179.  
  2180. @c @item insects
  2181.  
  2182. @item mormon
  2183. This is a downright blasphemous version of the heroic age of the
  2184. Mormon pioneers in Utah.  The Mormons try to reproduce
  2185. faster than the US Cavalry and the Ute Indians can massacre them;
  2186. to strike back, the Mormons have their Avenging Angels.
  2187.  
  2188. (I can do this, I'm descended from Mormon pioneers. -sts)
  2189.  
  2190. @c @item time
  2191.  
  2192. @end table
  2193.  
  2194. @ifset UNIX
  2195.  
  2196. @include x11-sect.texi
  2197.  
  2198. @include curses-sect.texi
  2199.  
  2200. @end ifset
  2201.  
  2202. @ifset MACINTOSH
  2203.  
  2204. @include mac-sect.texi
  2205.  
  2206. @end ifset
  2207.